package com.leedsoft.service;

import com.leedsoft.common.Page;
import com.leedsoft.controller.dto.*;
import com.leedsoft.controller.vo.AidPageVo;
import com.leedsoft.controller.vo.StepVo;
import com.leedsoft.controller.vo.TaskJsonVo;
import com.leedsoft.domain.AidPlan;

import java.util.List;

/**
 * Created by leeds on 2017/6/16.
 */
public interface AidService {
    void testDao();

    Page<AidPlanDto> getAidPlanList(AidPageVo pageVo);

    AidPlan getAidPlan(Long planId);

    /**
     * 获取一个没有出顺序流的节点构成的list。
     * 如果分支因素为空，则默认为“通过”
     * @param planId
     * @return
     */
    List<NodeDto> getNoOutNodes(Long planId);

    SaveStepDto saveStep(StepVo stepVo);

    List<AidMemDto> getAidMems(Long planId);

    List<StepDto> getSteps(Long planId);

    void delStep(Long stepId);

    void delStepWith(Long stepId);

    StepInfoDto getStepInfo(Long stepId);

    List<NodeDto> getExistNodes(Long planId);

    TaskJsonVo loadTask(Long planId, Integer taskCode);
}
